1. Field of the Invention
This invention relates to data processing field, and more particularly, to a request controlling apparatus, a request controlling method and relevant processor.
2. Related Art
A common multiple processor cooperative architecture is that the multiple processors are of different types. For example, a general processor is used as the main processor, and multiple dedicated processors corresponding to the general processor are used as co-processors. The dedicated processors have been particularly optimized for some special applications, such that they have higher performance than the general processor while processing the special applications. The applications can be, for example, encryption/decryption, compression/decompression, encoding/decoding, pattern matching or XML parsing.
FIG. 1 shows a diagram of such architecture. The general processor sends data to be processed to a dedicated processor via a request storage unit, and the dedicated processor sends the processing results to the general processor via a result storage unit.
Generally, the request storage unit and the result storage unit are disposed inside the chip of the dedicated processor, and typically the capacity of the request storage unit and the result storage unit will be relatively small due to limitation in chip area. For example, a typical request storage unit can only hold 8 or 16 requests. To solve this problem, a storage region can be set up in an external storage, so as to expand the request storage unit and the result storage unit inside the chip. For simplicity, a portion of the request storage unit located in the chip is referred to as a primary request storage region, and an extended portion of the request storage unit located in external storage is referred to as a secondary request storage region.
Both the primary request storage region and the secondary request storage region are part of the request storage unit. Similarly, a portion of the result storage unit located in the chip is referred to as a primary result storage region, and an extended portion of the result storage unit located in external storage is referred to as a secondary result storage region. Both the primary result storage region and the secondary result storage region are part of the result storage unit.
The working principle of the secondary request storage region will be illustratively described below, and those skilled in the art can readily deduce the operation manner of the secondary result storage region. Further, those skilled in the art can also appreciate that, the so-called external storage herein refers to a storage other than the storage units in a chip, for example, cache, memory, hard disk etc. Those skilled in the art can devise many approaches to decide the kind of the external storage in which the secondary request storage region will be set up.
The secondary request storage region is a piece of storage region in the external storage, and a request storage unit accessing means in the chip can record the first address of the secondary request storage region. The request storage unit accessing means can be a part of a request controlling apparatus in the chip. In case that the primary request storage region in the chip is in full state, if a new request is received, the request storage unit accessing means will send that new request to the secondary request storage region in the external storage, and record the location of that new request in the secondary request storage region, i.e. the offset relative to the first address of secondary request storage region.
Of course, the request storage unit accessing means can also record the location of that request in the external storage in other manners, and it is not limited to such manner that the first address of the secondary request storage region is added to the offset of the request relative to the first address of secondary request storage region as described herein. When the primary request storage region is not in full state, the request storage unit accessing means can read out the request in the secondary request storage region and place it into the primary request storage region.
The above method solves the problem that the capacity of the request storage unit, or the result storage unit, in the chip is too small. However, there is still a need of further improving the request storage unit accessing means and the secondary result storage region managing means so as to adapt to the requirement of complicated scenarios in real application.